[アップデート]すべての商用リージョンとGovCloud(米国)リージョンで、NAT64/DNS64が利用可能になりました!
こんにちは!AWS事業本部コンサルティング部のたかくに(@takakuni_)です。
みなさん、IPv6使っていますかー?
今回は、タイトルの通り、NAT64/DNS64を使用したIPv6リソースからIPv4リソースへの接続が商用リージョンと、GovCloud(米国)リージョンでサポートされたのでご紹介します。
既に、米国など一部リージョンでサポートされている機能が東京リージョンなどで使えるようになりました。
詳しい使い方は、以下ブログをご参照ください。
ちなみに、NAT64の読み方は「NAT six to four」で、DNS64は「DNS six to four」です。
今回は、NAT64/DNS64の仕組みをご説明できたらと思います。
NAT64/DNS64ってどこにあるの?
まずは、NAT64/DNS64は、どちらも機能の1つでサービスではありません。
「NAT64」は、NAT Gatewayの機能です。AWS管理の機能で自身で設定することはありません。
「DNS64」は、Amazon Route 53 Resolverの機能です。サブネット単位で「有効/無効」を設定します。
仕組み
仕組みの都合上、DNS64からご説明します。
DNS64
DNS64では、AAAAレコードの名前解決とIPv6アドレスの生成を担っています。
主な流れは以下の通りです。
- IPv6ホストからDNSを呼び出しが行われる。
- DNS64は、呼び出されたDNSのAAAAレコード(IPv6のアドレス)を探す。
- AAAAレコードが存在する場合、AAAAレコードのIPv6アドレスを返す。
- 存在しない場合、Aレコードのアドレスに64:ff9b::/96プレフィックスを付けてIPv6アドレスを合成する。
- 合成したIPv6レコードを返す。
64:ff9b::/96とは、IETFに提案されたRFC 6052標準で定義されているプレフィックスです。
固定値の認識で、今のところは問題ないです。AWSでIPv6設計する際は、覚えておきたい文字列です。
例えば、Aレコードが、「34.207.250.62」の場合に合成されるIPv6アドレスは以下になります。
NAT64
NAT64では、IPv4アドレスの抽出と応答ホストのIPv6アドレス再作成を担います。
主な流れは以下の通りです。
前述の合成されたIPv6アドレス「64:ff9b::fff:22cf:fa3e」を使用してご説明します。
- 応答ホストからIPv6アドレス向けに通信が流れる。
- NAT64は、IPv6プレフィックス(64:ff9b::/96)を認識し、IPv4アドレスに変換してIPv4接続を行う。
- 応答パケットで、宛先ホストのIPv6アドレスを再作成、IPv6プレフィックス(64:ff9b::/96)を加える。
- 応答ホストへパケットを転送する。
そのため、NAT64を行うためには、IPv6ホストが配置されているサブネットルートテーブルに、
「CIDRが64:ff9b::/96で、ターゲットがNAT Gateway」のルートが必要になります。
参考情報
まとめ
今回の、アップデートでIPv6の利用に大きく前進したのではないかと思います。
まずは是非、お試しいただければと思います。
IPv6アドレス設計で、ご参考にしていただければ幸いです。
以上、AWS事業本部コンサルティング部のたかくに(@takakuni_)でした!